說好的 HTML5 搞定了?背後還是鬧劇一場
HTML5 雖然只是一個技術標準,但是很多開發人員心中期望著這技術能顛覆流動應用生態。在此並不想單純從技術角度談論 HTML5 的現實處境,因為技術從來不會成為發展的絕對瓶頸,尤其是 HTML5 本身就不存在任何重大的技術難題。反而在商言商,商業鬥爭成了 HTML5 發展無法逾越的鴻溝,由於摻雜大量的投機成分、商業成分,HTML5 的發展已成一場鬧劇。
HTML5 所謂的「標準定義」在我看來只是一場市場宣傳。HTML5 標準由始至終就只是 World Wide Web Consortium (W3C)獨立領域,更不是唯一的代言人。原本 W3C 組織對外宣傳要到 2022 年才會完成 HTML5 正式標準的制定工作,現在為何又如此匆忙的完成制定?這種急急完成的態度真的會對流動開發產生一定的影響嗎?
完不了的 10%
真正一直關心 HTML5 的人會記得 2012 年 7 月的一個重大新聞,HTML5 的兩個標準組織 W3C 和 WHATWG 因為「理念不合」決定分道揚鑣,這被看成一場 IT 界的商業政治事件。兩者的根本理念差異是 WHATWG 認為 HTML5 應該成為一個動態的標準兼 Living Standard,而 W3C 則認為應該形成一個固定的標準。
導致這場事件升級的真正原因並不是「理念」這麼簡單,而是兩者各自代表的利益集團背後的推手。WHATWG 與 W3C 不和的底蘊,正是 WHATWG 獲得 Mozilla、蘋果和 Opera 的支持,W3C 則選擇了向微軟靠攏。
HTML5 標準本身涉及的技術並無任何障礙,但遲遲無法定案的原因則是錯綜複雜,所謂的利益和政治搏弈才是直接導致了進度緩慢的真正原因。實際上截至 2013 年 90% 以上的 HTML5 標準早已完成,餘下的部分就是各大利益集團搏弈的重點,而早前 W3C 單方面發佈最終標準,明顯是想生米煮成熟飯,但這真的會奏效麼?答案是當然不會有效!因為各大金主不會因為這一場 PR 技倆就放棄自己的利益。
那麼對開發者而言,W3C 所謂的標準定義到底意味著什麼?是否可以從中獲益?到底該如何看待這一「進步」?
這一切要從 W3C 與 WHATWG 的分歧開始,動態標準還是固定的標準更適合開發者?答案或許是 WHATWG 的 Living Standard,因為沒有動態的標準,HTML5 就不會有未來。未來 HTML5 想得到真正的發展,核心問題並不是標準哪天定義好或是瀏覽器性能不足,關鍵在於兩點,一是持續改進,二是生態。
龜速反覆運算
如果沒有一個持續改進的標準和為此而不斷努力的組織,HTML5 就只能把顛覆 App 生態當成一句口號,永遠充當配角。因為生態革新速度要遠大於開發者的行動速度。
行業環境已經完全不是 10 年前的樣子,雲端的出現快速蠶食著傳統 Bowser-to-Server 架構,終端現在泛指包含 PC、手機、平板、汽車及家電等等。而相比 PC 時代,更多端的出現,代表著更多的硬體組合以及更多業務場景和功能。我們一直詬病這些組織行動緩慢,這次標準突然定案很明顯沒有解決任何「雲與端」的複雜性問題。我們試想一下:
例子 A:以 iPhone 的 touchID 為代筆的生物識別功能在各種端上興起,繼而產生了大量新的 API,甚至可能今後帶有硬解的虹膜識別、聲紋識別等能力,在一個固定的 HTML5 標準下如何解決?HTML5 附帶的 device API 甚至只涵蓋了傳統手機時代的基礎通訊錄、相機等功能,今天出現的 touchID 均無法有效支援,更何況 2、3 年後我們未想像過的新功能成為標準配置時,這種情況下不改進的 HTML5 標準代表著「已過時」?
例子 B:智能裝置的發展對藍芽和 WiFi 使用以及需求迅速增長,而 HTML5 對藍芽 3.0 驅動的支援標準何在?可以遵照標準的 HTML5 還是配套的標準以及協議在瀏覽器內連接大部分的智能裝置?答案當然也是全然否定的。這種未來最常見的都無法實現,請問 HTML5 擅長的只是排版佈局和閱讀類亦或是一些低價遊戲的 APP?更不要說對於 NFC 已經普及到手機相機等多種裝置中,所以定立標準後不發展的 HTML5 標準代表著欠缺未來擴展性。
簡單來說現時所謂的 HTML5 標準只是鬧劇和利益拉据,如果真正期盼 HTML5 挑戰 App 生態,一定要出現一個不停發展的動態標準,才能夠具備上場參賽的基礎。只是這倚重的是標準背後的「推手」和「金主」,那些想打造自己生態王國的大玩家。作為 WHATWG 的重要支柱,Apple 一直在低調中快速發展著自身的 Web App 技術,到今天為止,在 iOS 中已經有比 Android 和其他作業系統更成熟和完美的 HTML5 和 Web App 的支援,遺憾的是 Apple 只是把 HTML5 當成技術,而沒有為打造 HTML5 的生態做出任何其他的努力。
推不動的生態
這幾年是 HTML5 最低調的一年,除了用戶對 HTML5 普遍負面的評價之外,最嚴重的一次事件就是 Facebook 徹底放棄 HTML 5。
Facebook 創辦人 Mark Zuckerberg 說最大的錯誤就是在 HTML5 上面賭太大!Facebook 一直都有想在跨平台統一的雄心壯志,所以全面推進 HTML5,妄想脫離不同 OS 的掌控,即使 Facebook 如此重量級的玩家,最後也認輸了。無獨有偶,Linkedin 在 2013 年也同樣放棄了 HTML5 重新擁抱 APP。到今天,難道短短的一年多,世界就發生了徹底的改變,HTML5 又重新具備了王者的氣質?當然是不可能的,世界上各個 IT 王國都沒有改變取態。
根據 Flurry 的報告,相比去年,2014 用戶在流動使用 APP 的比率進一步上升突破 80%,而手機網站的使用情況進一步下降。這說明 APP 升級和下載並沒有阻礙其發展,並且隨著應用市場更加人性和智能化,自動更新等機制對用戶來說越來越方便,反而基於 HTML5 的 Web App 的使用和開啟倒是成了用戶的障礙。手機瀏覽器的使用者其使用情況越來越不樂觀,這個最重要的 HTML5 的載體正在失去活力,反而大家更對 APP 有進一步的期望。
當然想以超級 APP 的形式打造自身封閉生態的廠商不止 Facebook 一家,國內試水的大公司也很多,從 UC 的 web app 到應用,構建基於流動 web 流量的生態系統都無一成功。目前造成這種局面原因很多,例如瀏覽器性能不足、HTML5 標準未定好、無有效的 web app 發行渠道等等。
目前用戶從 App store 去搜索和下載應用,儲存在裝置上可隨時使用,已經成了 iOS 與 Android 系統用戶的固定模式。反而叫用戶進入超級 APP,再通過搜索或連接的方式進入一個協力廠商 web app,無論是從操作流程還是使用者最終體驗都無法和作業系統層級的體驗抗衡。而 HTML5 標準定義沒有為這種生態的困難帶來任何一點的改變,所以說 HTML5 在 W3C 操縱下的所謂標準定義,只是一場公關鬧劇,雖然的確令市場有一點動作,但是也刺激了一批業界先鋒當炮灰。
期待新玩家
開發者對於 HTML5 的標準,可以以平常心看待。瀏覽器或 OS 不會因為 W3C 所謂的「標準」而放棄維護本身利益,會支持的早已支持,不會支持的也不會遵照標準去支援。只是 HTML5 作為下一代標準技術,拋開利益和政治的搏弈,會給開發者帶來更大的價值。
HTML5 和配套的 web 開發技術具有跨平台、低門檻的特性,目前大量的流動應用廣泛使用了 HTML5 配合 native development 原生開發,降低了整體的開發成本,更有一些流動應用引擎使用 Javascript 和 HTML5 開發跨平台 native app,在不觸碰 iOS 與 Android 生態利益的前題下,發揮實用的價值。因此只要回歸到技術本身,把 HTML5 技術應用到可以使用的場景中充分發揮價值,就可以逐步建立生態。